package com.xinnet.core.validate.attribute;

import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;

import com.xinnet.core.validate.DatetimeValidator;


/**
 * 表示作为「日期格式」的数据的标注。
 * 可以将日期格式指定为与java.text.SimpleDateFormat相同的模式。默认的日期格式是「yyyy/MM/dd」。
 * 
 * @author wenjianye
 */
@Target( { METHOD, FIELD, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = DatetimeValidator.class)
@Documented
public @interface Datetime {

  /**
   * 返回的日期字符串。
   * 
   * @return 日期字符串
   */
  String format() default "yyyy-MM-dd HH:mm:ss";

  String message() default "";


  Class<?>[] groups() default {};

  Class<? extends Payload>[] payload() default {};
}
